package com.zsxb.crm.service;

import com.zsxb.crm.dto.ClueReportDTO;
import com.zsxb.crm.dto.ContractPageDTO;
import com.zsxb.crm.pojo.NewUserReport;
import com.zsxb.crm.pojo.SaleReport;
import com.zsxb.crm.result.PageResult;
import com.zsxb.crm.vo.VulnerabilityMap;

import java.time.LocalDate;
import java.util.List;
import java.util.Map;

public interface ReportService {
    /**
     * 合同数据统计分页
     */
    PageResult contractStatisticsListPageQuery(ContractPageDTO pageDTO);

    /**
     * 用户数据统计
     */
    NewUserReport contractStatistics(LocalDate beginCreateTime, LocalDate endCreateTime);

    /**
     * 学科数据统计
     */
    List<Map<String, Object>> subjectStatistics(LocalDate beginCreateTime, LocalDate endCreateTime);

    /**
     * 部门查询
     */
    PageResult deptStatisticsList(ContractPageDTO pageDTO);

    SaleReport salesStatistics(LocalDate beginCreateTime, LocalDate endCreateTime);

    PageResult clueStatistics(ClueReportDTO clueReportDTO);

    SaleReport cluesStatistics(LocalDate beginCreateTime, LocalDate endCreateTime);

    List<Map<String, Object>> chanelStatistics(LocalDate beginCreateTime, LocalDate endCreateTime);

    VulnerabilityMap getVulnerabilityMap(LocalDate beginCreateTime, LocalDate endCreateTime);
}
